package org.absolutezero.shared;

import java.util.List;

import org.absolutezero.model.User;

import com.google.web.bindery.requestfactory.shared.InstanceRequest;
import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.Service;


@Service(User.class)
public interface UserRequest extends RequestContext{

	InstanceRequest<UserProxy, Void> persist();
	
	InstanceRequest<UserProxy, Void> remove();
	
	InstanceRequest<UserProxy, Void> addShelf(ShelfProxy shelf);
	
	InstanceRequest<UserProxy, List<ShelfProxy>> fetchShelves();
	
	Request<UserProxy> find(Integer id);
	
	Request<UserProxy> login(String name, String password);
	
	
}
